@echo off

REM 设置中文编码
chcp 65001 >nul

REM 检查Docker服务是否运行
echo 正在检查Docker服务状态...
sc query docker >nul 2>&1
if %errorlevel% neq 0 (
echo 错误：Docker服务未启动或未安装。
echo 请按照以下步骤操作：
echo 1. 确保已安装Docker Desktop

echo 2. 以管理员身份启动Docker Desktop应用程序

echo 3. 等待Docker Desktop完全启动（右下角任务栏图标变为绿色）
echo 4. 再次尝试部署系统
pause
exit /b 1
)

REM 检查Docker Desktop是否正在运行
tasklist | findstr "Docker Desktop.exe" >nul 2>&1
if %errorlevel% neq 0 (
echo 警告：Docker服务已启动，但Docker Desktop应用程序未运行。
echo 建议启动Docker Desktop应用程序以获得更好的用户体验。
echo.
)

REM 尝试连接Docker引擎
echo 正在测试Docker连接...
docker version >nul 2>&1
if %errorlevel% neq 0 (
echo 错误：无法连接到Docker引擎。常见原因和解决方案：
echo 1. Docker Desktop未完全启动，请等待几分钟后重试

echo 2. Docker Desktop可能未以Linux容器模式运行
   - 右键点击任务栏中的Docker图标
   - 选择"Switch to Linux Containers..."
   - 等待切换完成后重试

echo 3. 尝试以管理员身份运行命令提示符
   - 右键点击"命令提示符"
   - 选择"以管理员身份运行"
   - 再次执行部署命令

echo 4. 检查Windows服务中Docker相关服务是否正常运行
pause
exit /b 1
)

REM 如果以上检查都通过，显示Docker信息
echo Docker连接成功！当前Docker版本信息：
docker version

echo.
echo 系统环境检查完成，可以尝试部署学生管理系统。
echo 部署方法：
echo 1. 双击运行 "部署系统.bat" 文件

echo 2. 或在命令行中执行：
echo    cd docker
echo    docker-compose up -d
pause